using System;
using System.Collections;
using System.Collections.Generic;

using QLKS.DataLayer.Base;

namespace QLKS.DataLayer.BusinessObjects
{
    public partial class NhanVien : BusinessBase<string>
    {
        #region Declarations

		private string _hoTenNhanVien = String.Empty;
		private bool? _gioiTinh = null;
		private System.DateTime? _namSinh = null;
		private string _cmnd = null;
		private decimal? _luong = null;
		private string _email = null;
		private string _userLogin = null;
		private string _password = null;
		private bool _isActive = default(Boolean);
		private string _homePhone = null;
		private string _cellPhone = null;
		private string _fax = null;
		private string _chucVu = String.Empty;
		private string _diaChi = String.Empty;
		private string _city = String.Empty;
		private string _country = String.Empty;
		private string _zipCode = null;
		
		
		private IList<HoaDon> _hoaDons1 = new List<HoaDon>();
		private IList<HoaDon> _hoaDons2 = new List<HoaDon>();
		private IList<PhieuThuePhong> _phieuThuePhongs1 = new List<PhieuThuePhong>();
		private IList<PhieuThuePhong> _phieuThuePhongs2 = new List<PhieuThuePhong>();
		
		#endregion

        #region Constructors

        public NhanVien() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_hoTenNhanVien);
			sb.Append(_gioiTinh);
			sb.Append(_namSinh);
			sb.Append(_cmnd);
			sb.Append(_luong);
			sb.Append(_email);
			sb.Append(_userLogin);
			sb.Append(_password);
			sb.Append(_isActive);
			sb.Append(_homePhone);
			sb.Append(_cellPhone);
			sb.Append(_fax);
			sb.Append(_chucVu);
			sb.Append(_diaChi);
			sb.Append(_city);
			sb.Append(_country);
			sb.Append(_zipCode);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual string HoTenNhanVien
        {
            get { return _hoTenNhanVien; }
			set
			{
				OnHoTenNhanVienChanging();
				_hoTenNhanVien = value;
				OnHoTenNhanVienChanged();
			}
        }
		partial void OnHoTenNhanVienChanging();
		partial void OnHoTenNhanVienChanged();
		
		public virtual bool? GioiTinh
        {
            get { return _gioiTinh; }
			set
			{
				OnGioiTinhChanging();
				_gioiTinh = value;
				OnGioiTinhChanged();
			}
        }
		partial void OnGioiTinhChanging();
		partial void OnGioiTinhChanged();
		
		public virtual System.DateTime? NamSinh
        {
            get { return _namSinh; }
			set
			{
				OnNamSinhChanging();
				_namSinh = value;
				OnNamSinhChanged();
			}
        }
		partial void OnNamSinhChanging();
		partial void OnNamSinhChanged();
		
		public virtual string Cmnd
        {
            get { return _cmnd; }
			set
			{
				OnCmndChanging();
				_cmnd = value;
				OnCmndChanged();
			}
        }
		partial void OnCmndChanging();
		partial void OnCmndChanged();
		
		public virtual decimal? Luong
        {
            get { return _luong; }
			set
			{
				OnLuongChanging();
				_luong = value;
				OnLuongChanged();
			}
        }
		partial void OnLuongChanging();
		partial void OnLuongChanged();
		
		public virtual string Email
        {
            get { return _email; }
			set
			{
				OnEmailChanging();
				_email = value;
				OnEmailChanged();
			}
        }
		partial void OnEmailChanging();
		partial void OnEmailChanged();
		
		public virtual string UserLogin
        {
            get { return _userLogin; }
			set
			{
				OnUserLoginChanging();
				_userLogin = value;
				OnUserLoginChanged();
			}
        }
		partial void OnUserLoginChanging();
		partial void OnUserLoginChanged();
		
		public virtual string Password
        {
            get { return _password; }
			set
			{
				OnPasswordChanging();
				_password = value;
				OnPasswordChanged();
			}
        }
		partial void OnPasswordChanging();
		partial void OnPasswordChanged();
		
		public virtual bool IsActive
        {
            get { return _isActive; }
			set
			{
				OnIsActiveChanging();
				_isActive = value;
				OnIsActiveChanged();
			}
        }
		partial void OnIsActiveChanging();
		partial void OnIsActiveChanged();
		
		public virtual string HomePhone
        {
            get { return _homePhone; }
			set
			{
				OnHomePhoneChanging();
				_homePhone = value;
				OnHomePhoneChanged();
			}
        }
		partial void OnHomePhoneChanging();
		partial void OnHomePhoneChanged();
		
		public virtual string CellPhone
        {
            get { return _cellPhone; }
			set
			{
				OnCellPhoneChanging();
				_cellPhone = value;
				OnCellPhoneChanged();
			}
        }
		partial void OnCellPhoneChanging();
		partial void OnCellPhoneChanged();
		
		public virtual string Fax
        {
            get { return _fax; }
			set
			{
				OnFaxChanging();
				_fax = value;
				OnFaxChanged();
			}
        }
		partial void OnFaxChanging();
		partial void OnFaxChanged();
		
		public virtual string ChucVu
        {
            get { return _chucVu; }
			set
			{
				OnChucVuChanging();
				_chucVu = value;
				OnChucVuChanged();
			}
        }
		partial void OnChucVuChanging();
		partial void OnChucVuChanged();
		
		public virtual string DiaChi
        {
            get { return _diaChi; }
			set
			{
				OnDiaChiChanging();
				_diaChi = value;
				OnDiaChiChanged();
			}
        }
		partial void OnDiaChiChanging();
		partial void OnDiaChiChanged();
		
		public virtual string City
        {
            get { return _city; }
			set
			{
				OnCityChanging();
				_city = value;
				OnCityChanged();
			}
        }
		partial void OnCityChanging();
		partial void OnCityChanged();
		
		public virtual string Country
        {
            get { return _country; }
			set
			{
				OnCountryChanging();
				_country = value;
				OnCountryChanged();
			}
        }
		partial void OnCountryChanging();
		partial void OnCountryChanged();
		
		public virtual string ZipCode
        {
            get { return _zipCode; }
			set
			{
				OnZipCodeChanging();
				_zipCode = value;
				OnZipCodeChanged();
			}
        }
		partial void OnZipCodeChanging();
		partial void OnZipCodeChanged();
		
		public virtual IList<HoaDon> HoaDons1
        {
            get { return _hoaDons1; }
            set
			{
				OnHoaDons1Changing();
				_hoaDons1 = value;
				OnHoaDons1Changed();
			}
        }
		partial void OnHoaDons1Changing();
		partial void OnHoaDons1Changed();
		
		public virtual IList<HoaDon> HoaDons2
        {
            get { return _hoaDons2; }
            set
			{
				OnHoaDons2Changing();
				_hoaDons2 = value;
				OnHoaDons2Changed();
			}
        }
		partial void OnHoaDons2Changing();
		partial void OnHoaDons2Changed();
		
		public virtual IList<PhieuThuePhong> PhieuThuePhongs1
        {
            get { return _phieuThuePhongs1; }
            set
			{
				OnPhieuThuePhongs1Changing();
				_phieuThuePhongs1 = value;
				OnPhieuThuePhongs1Changed();
			}
        }
		partial void OnPhieuThuePhongs1Changing();
		partial void OnPhieuThuePhongs1Changed();
		
		public virtual IList<PhieuThuePhong> PhieuThuePhongs2
        {
            get { return _phieuThuePhongs2; }
            set
			{
				OnPhieuThuePhongs2Changing();
				_phieuThuePhongs2 = value;
				OnPhieuThuePhongs2Changed();
			}
        }
		partial void OnPhieuThuePhongs2Changing();
		partial void OnPhieuThuePhongs2Changed();
		
        #endregion
    }
}
